<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 如果默认值是一个表达式，那么这个表达式是惰性求值的，即只有在用到的时候，才会求值。
        function f() {
            console.log('aaa');
        }

        let [x = f()] = [1];
        console.log(x);
        //上面代码中，因为x能取到值，所以函数f根本不会执行。上面的代码其实等价于下面的代码。
        let x;
        if ([1][0] === undefined) {
            x = f();
        } else {
            x = [1][0];
        }
    </script>
</body>

</html>